/**
 * 本文件主要是工具类函数
 */


 /*
  自己基于wx.request封装的一个请求函数（粗陋封装各位不要笑话）
  因为在小程序开发中request是最常用的api所以会造成很多的代码重复
  因此将其在封装之后可以大大的减少代码的复用
*/
import {
  baseURL,
  timeout
} from './config.js'

let myGetRequest = function(args = {url:'',methods:'', data:{}}){
  wx.showLoading({
    title: '请求中ing',
  })
  return new Promise((resolve, reject) => {
    console.log('GET：的请求参数：',args);
    wx.request({
      url: baseURL+args.url,
      data: args.data,
      header: {'content-type':'application/application/json'},
      timeout:timeout,
      method: 'GET',
      dataType: 'json',
      responseType: 'text',
      success: (res)=>{
        console.log('GET：请求成功返回值：',res);
        if(res.statusCode == 200){
          // 请求成功执行回调函数
          resolve(res);
        }else{
          // 请求失败执行回调函数
          reject(res)
        }
      },fail:(res)=>{
        console.log('GET：请求成失败返回值：',res);
        resolve(res);
      },
      complete: res => {

        wx.hideLoading()
      }
  })
  })
  

}


let myPostRequest = function(args = {url:'',methods:'', data:{}}){
  wx.showLoading({
    title: '数据加载中ing',
  })
  return new Promise((resolve, reject) => {
    console.log('POST请求参数：',args);
    wx.request({
      url: baseURL+args.url,
      data: args.data,
      timeout:timeout,
      method: 'POST',
      responseType: 'text',
      success: (res)=>{
        console.log('POST：请求成功返回值：',res);
        if(res.statusCode == 200){
          // 请求成功执行回调函数
          resolve(res);
        }else{
          // 请求失败执行回调函数
          reject(res);
        }
      },fail:(res)=>{
        console.log('POST：请求成失败返回值：',res);
        resolve(res);
      },
      complete: res => {
        wx.hideLoading()
      }
  })
  })
  

}

// 向外暴露接口
module.exports = {
  myGetRequest : myGetRequest,
  myPostRequest : myPostRequest
}